package by.dvrudenko.avtobaza.dataaccess;

import java.util.List;

import javax.persistence.metamodel.SingularAttribute;

import by.dvrudenko.avtobaza.datamodel.Car;

public interface CarDao extends AbstractDao<Long, Car> {
	
    Long getCount();

    List<Car> getAllCars();

    List<Car> getAllCars(SingularAttribute<Car, ?> attr, boolean ascending, int startRecord, int pageSize);
    
    List<Car> getAllCarsInConditionByWork(Boolean work);
    
    List<Car> getAllCarsInConditionByField(SingularAttribute<Car, Integer> attr, Integer value);

    // все машины по объему, грузоподъемности, рабоч состоянию и и на задании или нет
	List<Car> getAllCarsByWorkConditionVolumeCapacity(Integer volume,
			Integer capacity, Boolean work, Boolean condition);
      
//    List<Car> getAllCarInWork(Boolean work);
    
//    List<Car> getAllCarInCondition(Boolean condition);
    
//    List<Car> getAllCarByYear(Date year); 
    
//    List<Car> getAllCarByCarryingCapacity(Integer carryingCapacity); 
    
//    List<Car> getAllCarByVolumeCapacity(Integer volumeCapacity); 

//    List<Car> getAllCarsByName(Integer name);

//    List<Car> getAllCarsWithImages();
	
	


}
